package com.sicheng.lc.周赛.分类.哈西表or计数or滑动窗口or双指针.抵消or期待某个元素;

import java.util.HashMap;

/**
 * @author zsc
 * @version 1.0
 * @date 2022/8/8 21:17
 */
public class 算术三元组的数目 {
    //哈西表套路： 计数 或者 当前遍历元素期待以前遍历过的某元素
    public int arithmeticTriplets(int[] nums, int k) {
        HashMap<Integer, Integer> map = new HashMap<>();
        int res = 0;
        for (int x : nums) {
            int a = map.getOrDefault(x - k, 0);
            int b = map.getOrDefault(x - (k << 1), 0);
            res += a * b;
            map.put(x, map.getOrDefault(x, 0) + 1);
        }
        return res;
    }
}
